package com.ruoyi.edu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.edu.api.domain.EduSubject;

import java.util.List;

/**
 * 课程类别Mapper接口
 *
 * @author isahino
 * @date 2023-09-14
 */
public interface EduSubjectMapper extends BaseMapper<EduSubject> {
    /**
     * 查询课程类别
     *
     * @param id 课程类别主键
     * @return 课程类别
     */
    EduSubject selectEduSubjectById(String id);

    /**
     * 查询课程类别列表
     *
     * @param eduSubject 课程类别
     * @return 课程类别集合
     */
    List<EduSubject> selectEduSubjectList(EduSubject eduSubject);

    /**
     * 新增课程类别
     *
     * @param eduSubject 课程类别
     * @return 结果
     */
    int insertEduSubject(EduSubject eduSubject);

    /**
     * 修改课程类别
     *
     * @param eduSubject 课程类别
     * @return 结果
     */
    int updateEduSubject(EduSubject eduSubject);

    /**
     * 删除课程类别
     *
     * @param id 课程类别主键
     * @return 结果
     */
    int deleteEduSubjectById(String id);

    /**
     * 批量删除课程类别
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteEduSubjectByIds(String[] ids);

    /**
     * 根据课程类别 id 查询其子类别数量
     *
     * @param id 课程类别 id
     * @return 子类别数量
     */
    int queryChildrenNum(String id);

    /**
     * 根据课程类别 id 查询其父类类别 id
     *
     * @param subjectId 课程类别 id
     * @return 父类类别 id
     */
    String queryParentId(String subjectId);
}
